package com.ecoolex.ying.space.core.dao;

import com.ecoolex.framework.common.pojo.Page;
import com.ecoolex.framework.modularize.api.auth.user.ConsumerMember;
import com.ecoolex.ying.space.core.mapper.UserWatchMapper;
import com.ecoolex.ying.space.pojo.QueryUserWatchDTO;
import com.ecoolex.ying.space.pojo.QueryUserWatchFansDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserWatchDAO extends UserWatchMapper {


    long countWithUserWatch(@Param("userId") Integer userId, @Param("query") QueryUserWatchDTO query);

    List<ConsumerMember> queryWithUserWatch(@Param("userId") Integer userId, @Param("query") QueryUserWatchDTO query, @Param("sorts") String sorts, @Param("page") Page page);

    long countWithUserWatchFans(@Param("watchUserId") Integer watchUserId, @Param("query") QueryUserWatchFansDTO query);

    List<ConsumerMember> queryWithUserWatchFans(@Param("watchUserId") Integer watchUserId, @Param("query") QueryUserWatchFansDTO query, @Param("sorts") String sorts, @Param("page") Page page);

    int settingMutualWatch(@Param("userId") Integer userId, @Param("watchUserId") Integer watchUserId, @Param("updateUser") String updateUser);
}